import request from '@/utils/request'
// 统一请求体
const creatRequestView = () => {
  return {
    reqInMsgHeader: {
      ReqModles: 'xxx'// 请求模式-备用
    },
    main: { // 只用于role、permission(功能菜单)所以固定属性名称
      pageSize: '',
      pageIndex: '',
      isPage: ''
    }
  }
}

const defaultRequestView = creatRequestView()// 获得初始化的请求体对象
const updateDefaultRequestView = { // 创建更新默认请求实体对象方法
  update: (obj) => {
    Object.assign(defaultRequestView.main, obj) // 用法：assign(target,obj)
  }
}
export function getRoutes() {
  updateDefaultRequestView.update({})
  return request({
    url: '/menu/getAll',
    method: 'post',
    data: defaultRequestView
  })
}
export function getRoutesByRoleCode(roleCode) {
  updateDefaultRequestView.update({ roleCode: roleCode })
  return request({
    url: '/menu/getByRoleCode',
    method: 'post',
    data: defaultRequestView
  })
}
export function getRoles() {
  updateDefaultRequestView.update({ isPage: false })
  return request({
    url: '/role/getAllRole',
    method: 'post',
    data: defaultRequestView
  })
}
export function addDynamicMenuRoutes(menuCode) {
  updateDefaultRequestView.update({ menuCode: menuCode })
  return request({
    url: '/role/getrolebymenucode',
    method: 'post',
    data: defaultRequestView
  })
}
export function addRole(role, menulist) {
  updateDefaultRequestView.update({ role: role, routes: menulist })
  return request({
    url: '/role/addOne',
    method: 'post',
    data: defaultRequestView
  })
}

export function updateRole(role, menulist) {
  updateDefaultRequestView.update({ role: role, routes: menulist })
  return request({
    url: `/role/modifyOne`,
    method: 'post',
    data: defaultRequestView
  })
}

export function deleteRole(rolelist) {
  updateDefaultRequestView.update({ roleList: rolelist })
  return request({
    url: `/role/dropBatchs`,
    method: 'post',
    data: defaultRequestView
  })
}
